/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.sadhar.sipp.perekamananggarankegiatanunit;

import java.util.List;
import java.util.Map;
import org.sadhar.sipp.posbiaya.PosBiaya;

/**
 *
 * @author hendro
 */
public interface PerekamanAnggaranKegiatanUnitDAO {

    public List<Status> getStatus(String tahunAnggaran, String kodeUnit) throws Exception;

    public double getTotalPlafon(String kodeUnit, String tahunAnggaran) throws Exception;

    public double getTotalAnggaranKegiatan(String kodeUnit, String tahunAnggaran, String isRevisi, String isDiajukan) throws Exception;

    public List<Kegiatan> listKegiatan(String tahunAnggaran, String kodeUnit) throws Exception;

    public List<PosBiaya> listPosBiaya(int kodeKelompokKegiatan, String tahunAnggaran, String keySearch) throws Exception;

    public String selectNamaTableItem(int kodePosBiaya) throws Exception;

    public ItemBiayaHargaItem selectHargaItem(String tahunAnggaran, int kodeItem) throws Exception;

    public ItemBiayaBarang selectItemBiayaBarang(int idBarang) throws Exception;

    public float selectHarga(String tahun, int idBarang) throws Exception;

    public void insert(AnggaranBiayaRapatKerjaDanKegiatan obj) throws Exception;

    public List<Map> selectAnggaranBiayaRapatKerjaDanKegiatan(
            String tahun,
            int kodeRapatKerjaSubKegiatan,
            int kodePosBiaya,
            int kodeItemBiayaBarang,
            String isRevisi,
            String isRapat) throws Exception;

    public List<AnggaranBiayaRapatKerjaDanKegiatan> listAllAnggaranBiayaRapatKerjaDanKegiatan(int kodeRapatKerjaSubKegiatan,String isRevisi,String tahun) throws Exception;

    public List<AnggaranBiayaRapatKerjaDanKegiatan> listAllAnggaranBiayaRapatKerjaDanKegiatan(String tahun, String kodeUnit, String isRevisi) throws Exception;

    public void updateIsDiajukan(String tahun, String kodeUnit) throws Exception;

    public List<Map> listKunciAnggaranBiayas(
            String tahun,
            String kodeUnit,
            int kodeJenisAnggaran,
            String isRevisi) throws Exception;
    public String selectIsDikunci(String tahun, String kodeUnit, String isRevisi)throws Exception;

    public void insertKunciAnggaranBiaya(String tahunAnggaran, String kodeUnit, String isRevisi)throws Exception;
    public void updateKunciAnggaranBiaya(String tahunAnggaran, String kodeUnit, String isRevisi)throws Exception;
    public void delete(AnggaranBiayaRapatKerjaDanKegiatan obj)throws Exception;
    public void update(AnggaranBiayaRapatKerjaDanKegiatan obj)throws Exception;
    // revisied sarah (BAPSI) / 22-12-2009
    public List<Status> getStatus2(String tahunAnggaran, String kodeUnit, String revisi, String aju) throws Exception;
}
